* clean_enh_desocupados.do
* This file applies some labels to the ENH datasets and cleans some of the variables.
* Cleans only the "desocupados" files - Registro tipo 70
* Inputs: All files in C:/Users/JorgeEduardo/Dropbox/AA_Minimum_Wage/Data/Importable/ENH
* Outputs: All files in C:/Users/JorgeEduardo/Dropbox/AA_Minimum_Wage/Data/Clean/ENH

clear all
version 13.1

* Project info
project, doinfo   
local master "`r(pdir)'"
local doname "`r(dofile)'" 



* Directory
cd "../../Data/Importable/ENH"

* Project calls
project, original("../../../Code/Clean/labels_enh_desocupados.do")

* Registro tipo 70 - Desocupados

* Obtener una lista de variables comunes en todas las bases de datos
forvalues year=1996(1)2000 {
	forvalues trim=1(1)4 {
		use "`year'/TRIM `trim'/`year'_`trim'_desocupados.dta" , clear
		des, s
		* cap noi codebook salario_period
		unab vars: *
		if `year'==1996 & `trim'==1 local cv="`vars'"
		else local cv : list cv & vars
	}
}
di "`cv'" 

* tipo_registro id municipio segmento estrato sector seccion manzana vivienda hogar personas_hogar resultado_encuesta orden tiempo_buscando buscado_tipo buscado_profesion buscado_primeravez tiempo_dejo_trabajar trabajoo_ocupacion trabajoo_actividad trabajoo_tipo area fex

quietly {
	forvalues year=1996(1)2000 {
		forvalues trim=1(1)4 {
			project, uses("`year'/TRIM `trim'/`year'_`trim'_desocupados.dta")
			use "`year'/TRIM `trim'/`year'_`trim'_desocupados.dta" , clear
			do "../../../Code/Clean/labels_enh_desocupados.do"
			drop if id==""
			drop if orden==.
			*** Base specific problems
			* Blanks in identifier in 1997
			if `year'==1997  replace id=subinstr(id," ","0",.)
			* Problema con un id en 1999 -4
			if `year'==1999 & `trim'==4 replace id="7300103630040010800201101" if id=="730010363004 010800201101"
			* Hay un hogar que tiene 43! personas en 1997-1. No sé si preparan la comida todos juntos. Mejor lo elimino
			drop if personas_hogar==43 
			
			* Work on common variables
			la val tipo_registro tipo
			**
			cap confirm variable buscado_pte
			if !_rc {
				cap confirm string variable buscado_pte
				if !_rc destring buscado_pte, replace
				la val buscado_pte trabajo_permanente
			}			
			**
			cap confirm variable buscado_tcompleto
			if !_rc la val buscado_tcompleto buscado_tcompleto
			**
			gen cbuscado_ocupacion = recode(buscado_ocupacion,0,19,21,39,49,59,64,98,99)
			la val cbuscado_ocupacion cocupacion
			**
			gen ctrabajoo_ocupacion= recode(trabajoo_ocupacion,0,19,21,39,49,59,64,98,99)
			la val ctrabajoo_ocupacion cocupacion
			**
			replace buscado_tipo = . if buscado_tipo==9
			**
			cap confirm variable buscado_actividad
			if !_rc {
				cap confirm string variable buscado_actividad
				if !_rc destring buscado_actividad, replace
				gen cbuscado_actividad = recode(buscado_actividad,13,29,39,42,50,63,72,83,96,99)
				replace cbuscado_actividad = . if buscado_actividad==99 | buscado_actividad==0
				la val cbuscado_actividad cactividad_empresa
			}				
			**
			la val buscado_primeravez buscado_primeravez
			**
			cap confirm variable trabajoo_actividad
			if !_rc {
				cap confirm string variable trabajoo_actividad
				if !_rc destring trabajoo_actividad, replace
				gen ctrabajoo_actividad = recode(trabajoo_actividad,13,29,39,42,50,63,72,83,96,99)
				replace ctrabajoo_actividad = . if trabajoo_actividad==99 | trabajoo_actividad==0
				la val ctrabajoo_actividad cactividad_empresa
			}
			**
			replace tiempo_dejo_trabajar = . if tiempo_dejo_trabajar ==99
			**
			la val trabajoo_tipo tipo_trabajador
			replace trabajoo_tipo = . if (trabajoo_tipo==0 | trabajoo_tipo==8 | trabajoo_tipo==9)
			* Dummies de ingreso
			cap unab ding: d_ing*
			if !_rc {
				foreach var of varlist `ding' {
					replace `var'=0 if `var'==.
				}
			}
			* Missings de ingreso
			cap confirm variable ingreso
			if !_rc replace ingreso = . if ingreso==99
			* Ingreso como string
			cap confirm string variable ing_trabajo
			if !_rc destring ing_trabajo, replace
			cap confirm string variable ing_intereses
			if !_rc destring ing_intereses, replace			
			*Codificación de área está diferente dentro de los años, ¡Qué sufrimiento!
			replace area=76 if area==761
			replace area=11 if area==111
			if `year'==1996 | `year'==1997 & `trim'<=2 {
				gen area961_972=area
				merge n:1 area961_972 using "../../xwalks/area.dta", update replace keep(1 3 4 5) gen(amerge)
				tab area961_972 if amerge!=3
				drop amerge nombre
			}			
			la val area area
			noi des, s
			noi codebook, detail problems all
			* noi codebook, problems all
			compress 
			save "../../Clean/ENH/`year'/TRIM `trim'/`year'_`trim'_desocupados.dta", replace
			project, creates("../../Clean/ENH/`year'/TRIM `trim'/`year'_`trim'_desocupados.dta")
		}
	}
}
  